[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71C07EY9T46GE6R5J7MVJF2":3,"skill-same:01M71C07EY9T46GE6R5J7MVJF2":67},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":14,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":50,"ownerDescription":51,"updatedAt":52,"install":53,"resources":66},"01M71C07EY9T46GE6R5J7MVJF2","validate-vault",null,"Validates an EstudeMe vault: checks frontmatter against the schema for each document type and reports broken wikilinks. Use when the user asks 'validate my vault', 'check my vault', 'any broken links', 'is my vault healthy'. Don't use to inspect a specific trail's progress — use inspect-trail.","josenaldo\u002Festudeme","josenaldo","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F359860?v=4","01M71BZQYJ3AR2CJC6BC55N4ZM","Josenaldo de Oliveira Matos Filho","01M71BZQZ471P234WVRE7VH5DS",0,"MIT","https:\u002F\u002Fgithub.com\u002Fjosenaldo\u002Festudeme\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fvalidate-vault\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"validate vault","validate","vault","progress","reports","type","check","healthy","code","when","document","broken links","use","schema","copilot","inspect","for","gemini","broken","links","2026-11-10 10:12:30",false,"---\nname: validate-vault\ndescription: \"Validates an EstudeMe vault: checks frontmatter against the schema for each document type and reports broken wikilinks. Use when the user asks 'validate my vault', 'check my vault', 'any broken links', 'is my vault healthy'. Don't use to inspect a specific trail's progress — use inspect-trail.\"\nlicense: MIT\ncompatibility: claude-code, gemini-cli, copilot, codex\n---\n\n# Skill: Validate Vault\n\n## Instructions\n\n### Step 1: Confirm vault path\n\n- [ ] Ask the user for the vault path if not provided.\n\n### Step 2: Run the CLI\n\n- [ ] Execute: `estudeme validate \u003Cvault-path>`\n- [ ] Capture stdout (structured findings) and exit code.\n\n### Step 3: Report\n\n- [ ] If the validation reports zero errors and warnings: confirm \"vault is\n      healthy\" and stop.\n- [ ] If errors or warnings exist: group them by file, summarize the most\n      common issue type, and propose concrete fixes (e.g., \"three notes\n      missing `type:` field — add `type: note` to their frontmatter\").\n\n## Critical\n\n- Read-only skill. Never auto-fix issues without explicit user approval.\n- The CLI returns exit 0 for clean and non-zero for issues found. Treat both\n  as successful runs of the skill; the difference is what to report.\n\n## Examples\n\n### Example 1: Clean vault\n\nUser says: \"Validate `~\u002Fstudy\u002Fmy-vault`.\"\n\nActions:\n- Run `estudeme validate ~\u002Fstudy\u002Fmy-vault`\n- Output reports zero issues\n\nResult: Confirm to the user: \"Vault is healthy. No frontmatter errors or\nbroken wikilinks found.\"\n\n### Example 2: Issues found\n\nUser says: \"Any broken links in my vault?\"\n\nActions:\n- Run `estudeme validate ~\u002Fstudy\u002Fmy-vault`\n- Output reports 3 broken wikilinks in 2 files\n\nResult: Present each broken link with the file path and the target that\ncould not be resolved. Suggest the user check the target name or create\nthe missing note.\n\n## Troubleshooting\n\n**Error: `Cannot find vault directory`**\n- Cause: wrong path.\n- Solution: confirm with the user.\n\n**Validation hangs on a large vault**\n- Cause: very large vault (thousands of files).\n- Solution: wait — the parser is single-pass. If it truly hangs, ask the\n  user to confirm the vault size and file the issue.\n\n## Performance Notes\n\n- Validation walks every Markdown file. For vaults under 1000 files, it\n  completes in well under a second.\n","# Skill: Validate Vault\n\n## Instructions\n\n### Step 1: Confirm vault path\n\n- [ ] Ask the user for the vault path if not provided.\n\n### Step 2: Run the CLI\n\n- [ ] Execute: `estudeme validate \u003Cvault-path>`\n- [ ] Capture stdout (structured findings) and exit code.\n\n### Step 3: Report\n\n- [ ] If the validation reports zero errors and warnings: confirm \"vault is\n      healthy\" and stop.\n- [ ] If errors or warnings exist: group them by file, summarize the most\n      common issue type, and propose concrete fixes (e.g., \"three notes\n      missing `type:` field — add `type: note` to their frontmatter\").\n\n## Critical\n\n- Read-only skill. Never auto-fix issues without explicit user approval.\n- The CLI returns exit 0 for clean and non-zero for issues found. Treat both\n  as successful runs of the skill; the difference is what to report.\n\n## Examples\n\n### Example 1: Clean vault\n\nUser says: \"Validate `~\u002Fstudy\u002Fmy-vault`.\"\n\nActions:\n- Run `estudeme validate ~\u002Fstudy\u002Fmy-vault`\n- Output reports zero issues\n\nResult: Confirm to the user: \"Vault is healthy. No frontmatter errors or\nbroken wikilinks found.\"\n\n### Example 2: Issues found\n\nUser says: \"Any broken links in my vault?\"\n\nActions:\n- Run `estudeme validate ~\u002Fstudy\u002Fmy-vault`\n- Output reports 3 broken wikilinks in 2 files\n\nResult: Present each broken link with the file path and the target that\ncould not be resolved. Suggest the user check the target name or create\nthe missing note.\n\n## Troubleshooting\n\n**Error: `Cannot find vault directory`**\n- Cause: wrong path.\n- Solution: confirm with the user.\n\n**Validation hangs on a large vault**\n- Cause: very large vault (thousands of files).\n- Solution: wait — the parser is single-pass. If it truly hangs, ask the\n  user to confirm the vault size and file the issue.\n\n## Performance Notes\n\n- Validation walks every Markdown file. For vaults under 1000 files, it\n  completes in well under a second.\n",{"name":5,"license":15,"description":7,"compatibility":44},"claude-code, gemini-cli, copilot, codex","main","3260357691a7868f492bd714e9a211fb8b588b28",".agents\u002Fskills\u002Fvalidate-vault","https:\u002F\u002Fgithub.com\u002Fjosenaldo\u002Festudeme","https:\u002F\u002Fgithub.com\u002Fjosenaldo","https:\u002F\u002Fjosenaldo.com.br","Senior Software Engineer | Full Stack • End-to-End Ownership |\r\nJava • Spring Boot • Hibernate | JS\u002FTS • Node • Express | React • Next.js • MUI • Mantine","2026-05-25 01:03:02",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add josenaldo\u002Festudeme --skill validate-vault",{"tool":59,"command":60},"bunx","bunx skills add josenaldo\u002Festudeme --skill validate-vault",{"tool":62,"command":63},"pnpm","pnpm dlx skills add josenaldo\u002Festudeme --skill validate-vault","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjosenaldo\u002Festudeme\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fvalidate-vault\u002FSKILL.md",true,[],[68,82,106,127,138,152],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":39},"01M71C0AFE82FYRC1TV3BNWPNR","list-trails","A test skill that should be ignored by the vault parser.","https:\u002F\u002Fgithub.com\u002Fjosenaldo\u002Festudeme\u002Fblob\u002Fmain\u002Fpackages\u002Fcore\u002Ftests\u002Ffixtures\u002Fsample-vault\u002F.agents\u002Fskills\u002Flist-trails\u002FSKILL.md",[],[75,76,77,78,21,79,80,81],"trails","list","list trails","test","ignored","Test Skill","parser",{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":93,"publishedAt":39},"01M71C0516PEG6GH2Z0FMTWKCH","review-vault-state","Gives a complete state overview of an EstudeMe vault by orchestrating validation, trail listing, and metrics into a single coherent report. Use when the user asks 'how is my vault', 'give me an overview', 'state of my study system', 'review my vault'. Don't use for a single trail — use inspect-trail.","https:\u002F\u002Fgithub.com\u002Fjosenaldo\u002Festudeme\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Freview-vault-state\u002FSKILL.md",[88],{"categoryNo":89,"categoryName":90,"taxonomyType":91,"taxonomyTypeDesc":92},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[94,95,21,96,36,35,34,97,98,99,100,101,33,102,103,31,28,27,104,105],"review","state","review vault state","meta-skill","study","system","complete","Meta","overview","single","listing","me",{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":117,"publishedAt":39},"01M71C02WXVY8MAQ2Z3F5RGWQ8","report-metrics","Reports vault-wide metrics in an EstudeMe vault: trail count, module count, notes per trail, cards per trail, overall structure summary. Use when the user asks 'show vault metrics', 'how is my progress overall', 'give me numbers on my vault'. Don't use to inspect a single trail — use inspect-trail.","https:\u002F\u002Fgithub.com\u002Fjosenaldo\u002Festudeme\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Freport-metrics\u002FSKILL.md",[112],{"categoryNo":113,"categoryName":114,"taxonomyType":115,"taxonomyTypeDesc":116},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[118,119,120,121,36,34,33,103,122,31,28,27,23,123,124,105,22,125,126,21],"report metrics","report","metrics","show","module","notes","structure","codex","cli",{"skillNo":128,"name":70,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":132,"publishedAt":39},"01M71C00BRM0WF71K9GP98ZEE2","Lists all trails (learning tracks) in an EstudeMe vault. Use when the user asks 'what trails do I have', 'list my trails', 'show me my trails', or wants an overview of their learning tracks. Don't use for progress detail on a specific trail — use inspect-trail.","https:\u002F\u002Fgithub.com\u002Fjosenaldo\u002Festudeme\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Flist-trails\u002FSKILL.md",[],[75,77,76,133,121,134,36,35,34,135,33,102,31,136,28,137,27,105,22,125],"do","tracks","learning","detail","show me",{"skillNo":139,"name":140,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":144,"publishedAt":39},"01M71BZYA2D62837D7EDT77E1S","list-cards","Lists all flashcards in an EstudeMe vault. Use when the user asks 'list my cards', 'what flashcards do I have', 'show me my cards', or wants a card inventory. Don't use to export cards to an external format — use export-cards.","https:\u002F\u002Fgithub.com\u002Fjosenaldo\u002Festudeme\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Flist-cards\u002FSKILL.md",[],[145,146,76,147,133,121,36,148,149,33,31,28,137,27,150,105,125,126,21,151],"list cards","cards","flashcards","card","inventory","export cards","format",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":158,"publishedAt":39},"01M71BZVNM5HSBPKP6PQEC5AEJ","inspect-trail","Shows detailed progress and status for a specific trail in an EstudeMe vault: modules covered, notes per module, completion percentage. Use when the user asks 'how is my trail X', 'status of trail X', 'progress on the Java trail'. Don't use to list multiple trails — use list-trails.","https:\u002F\u002Fgithub.com\u002Fjosenaldo\u002Festudeme\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Finspect-trail\u002FSKILL.md",[],[34,159,160,161,36,35,33,122,31,28,162,27,75,123,22,125,126,21,163,164],"inspect trail","trail","modules","java","how","status"]