@skill-map/cli 0.63.0 → 0.64.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,22 @@
1
+ ---
2
+ name: content-editor
3
+ description: |
4
+ Writes and edits the portfolio's pages. Reads a brief, follows the
5
+ style guide, and emits the HTML into public/.
6
+ tools: [Read, Write]
7
+ model: sonnet
8
+ ---
9
+
10
+ # content-editor
11
+
12
+ Turns a short brief into a finished portfolio page.
13
+
14
+ ## How to write a page
15
+ 1. Read the style guide and the shared stylesheet in public/.
16
+ 2. Write one HTML file under public/, named after the page (a projects page becomes `public/projects.html`).
17
+ 3. Start from `<!doctype html>`, link the stylesheet with `<link rel="stylesheet" href="/style.css">`, and set a `<title>`.
18
+ 4. Use one `<h1>`, group sections under `<h2>`, and reuse the shared header, nav, and footer so every page matches.
19
+ 5. Add a link back to Home, and link the new page from the home nav.
20
+
21
+ Rules: plain static HTML, no framework, no client JS, one page per file.
22
+ Every page follows the [style guide](../../docs/STYLE.md).
@@ -0,0 +1,17 @@
1
+ identity:
2
+ path: .claude/agents/content-editor.md
3
+ bodyHash: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4
+ frontmatterHash: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
5
+ annotations:
6
+ version: 2
7
+ stability: stable
8
+ tags:
9
+ - harness
10
+ - content
11
+ - frontend
12
+ settings: {}
13
+ audit:
14
+ createdAt: '2026-02-20T09:00:00.000Z'
15
+ createdBy: cli
16
+ lastBumpedAt: '2026-04-30T15:00:00.000Z'
17
+ lastBumpedBy: cli
@@ -0,0 +1,9 @@
1
+ ---
2
+ name: init
3
+ description: |
4
+ Scaffolds a new empty page in public/ from the shared template.
5
+ ---
6
+
7
+ # init
8
+
9
+ Creates a blank page so you can start writing.
@@ -0,0 +1,15 @@
1
+ ---
2
+ name: publish
3
+ description: |
4
+ Publishes the portfolio: runs the link check, hands off to the
5
+ content editor for any last fixes, then follows the deploy runbook.
6
+ ---
7
+
8
+ # publish
9
+
10
+ The one command you run when the site is ready to go out.
11
+
12
+ ## Steps
13
+ 1. Run /check-links on the pages in public/. If it reports broken links, stop and fix them first.
14
+ 2. If a page needs a content fix, brief @content-editor with the change.
15
+ 3. Follow the [deploy runbook](../../docs/DEPLOY.md): regenerate pages, run the link check, start the server.
@@ -0,0 +1,9 @@
1
+ annotations:
2
+ tags:
3
+ - harness
4
+ - deploy
5
+ - ci
6
+ identity:
7
+ bodyHash: 24a1903e0f76651ad6e177ad5c7481b7ae451d9d72ac9b2fb2d860ca961cdc6d
8
+ frontmatterHash: 3fa592383d48d96218979ae6786a03a3bada12153ca29678b71b91eea502695b
9
+ path: .claude/commands/publish.md
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: check-links
3
+ description: |
4
+ Validates the portfolio's internal links before publishing. Walks
5
+ every generated page and reports any link whose target is missing.
6
+ ---
7
+
8
+ # check-links
9
+
10
+ The last gate before the site goes out. Link targets resolve per the [WHATWG URL standard](https://url.spec.whatwg.org/).
11
+
12
+ ## Steps
13
+ 1. List every HTML file under `public/`.
14
+ 2. For each page, collect its internal links (every `href` to `/` or to a `.html` file).
15
+ 3. Check the target exists under `public/` (treat `/` as `public/index.html`).
16
+ 4. Report any link whose target is missing; if none, report "0 broken links".
@@ -0,0 +1,9 @@
1
+ annotations:
2
+ tags:
3
+ - harness
4
+ - links
5
+ - quality
6
+ identity:
7
+ bodyHash: a1b36960a6214519ef8f72d32ea296c07e17e4b1d06a3efc326066895537134b
8
+ frontmatterHash: 220822c755b2e7aadf653de25ffab6b0acb86ca198513100642da15ced531e1e
9
+ path: .claude/skills/check-links/SKILL.md
@@ -0,0 +1,30 @@
1
+ # Default `.skill-mapignore` shipped by `sm init`. Anything matching is
2
+ # skipped during `sm scan`. Same syntax as `.gitignore` (kaelzhang/ignore).
3
+ # Edit freely after `sm init`; the file is owned by the user from then on.
4
+
5
+ # Version-control + dependency dirs
6
+ .git/
7
+ node_modules/
8
+
9
+ # Build output
10
+ dist/
11
+ build/
12
+ out/
13
+ .next/
14
+ .cache/
15
+
16
+ # Project-local transient artifacts
17
+ .tmp/
18
+ .skill-map/
19
+
20
+ # OS / editor noise
21
+ .DS_Store
22
+ Thumbs.db
23
+ *.swp
24
+ *~
25
+
26
+ # Logs
27
+ *.log
28
+
29
+ # Portfolio: generated HTML lives here (not part of the harness graph)
30
+ public/
@@ -0,0 +1,10 @@
1
+ # Portfolio handbook
2
+
3
+ A small static portfolio site, served by Express (`server.js`). The
4
+ `.claude/` harness maintains it: an agent writes the pages, a skill
5
+ checks the links, a command publishes. The conventions live in the
6
+ style guide; the deploy steps in the deploy runbook. The pages still to
7
+ build are tracked in [the backlog](./docs/BACKLOG.md).
8
+
9
+ - When a page needs writing or fixing, brief @content-editor.
10
+ - When the site is ready to go out, run /publish.
@@ -0,0 +1,8 @@
1
+ annotations:
2
+ tags:
3
+ - handbook
4
+ - portfolio
5
+ identity:
6
+ bodyHash: 253817d64ad1b6544ff431250e5150ca7ee193b39c22746d8d426add618e5103
7
+ frontmatterHash: ca3d163bab055381827226140568f3bef7eaac187cebd76878e0b63e9e442356
8
+ path: AGENTS.md
@@ -0,0 +1,11 @@
1
+ ---
2
+ name: deploy-runbook
3
+ description: |
4
+ How the portfolio gets published once the pages are written.
5
+ ---
6
+
7
+ # Deploy runbook
8
+
9
+ 1. Generate or update the pages in public/.
10
+ 2. Run the link check and fix anything it reports.
11
+ 3. Start the server with `node server.js`, then open the site in your browser.
@@ -0,0 +1,20 @@
1
+ ---
2
+ name: style-guide
3
+ description: |
4
+ Writing and markup conventions every portfolio page follows.
5
+ ---
6
+
7
+ # Style guide
8
+
9
+ ## Voice
10
+ - Short, plain sentences. No marketing fluff.
11
+
12
+ ## Structure
13
+ - One H1 per page; sections under H2.
14
+ - Every page shares the same header, nav, and footer.
15
+ - Every page links back to Home.
16
+
17
+ ## Markup
18
+ - Plain static HTML: no framework, no client JS.
19
+ - Link the shared stylesheet `/style.css` in every page head.
20
+ - Use semantic tags: header, nav, main, footer.
@@ -0,0 +1,6 @@
1
+ {
2
+ "name": "my-portfolio",
3
+ "private": true,
4
+ "scripts": { "start": "node server.js" },
5
+ "dependencies": { "express": "4.21.2" }
6
+ }
@@ -0,0 +1,5 @@
1
+ <!doctype html>
2
+ <meta charset="utf-8">
3
+ <title>My portfolio</title>
4
+ <h1>My portfolio</h1>
5
+ <p>Pages land here once the content-editor generates them.</p>
@@ -0,0 +1,11 @@
1
+ // Minimal static server for the portfolio. No framework, one dep.
2
+ const express = require('express');
3
+ const path = require('node:path');
4
+
5
+ const app = express();
6
+ app.use(express.static(path.join(__dirname, 'public')));
7
+
8
+ const port = process.env.PORT || 3000;
9
+ app.listen(port, () => console.log(`Portfolio live at http://localhost:${port}`));
10
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="a63b424c-683d-508e-b627-27d46322d194")}catch(e){}}();
11
+ //# debugId=a63b424c-683d-508e-b627-27d46322d194