Ship Knowject Skills issues 5-9#10
Merged
Merged
Conversation
Why: - Knowject Skills reference ../_shared support files, but the installer only linked knowject-* Skill directories. What: - Install skills/_shared into Claude Code and Codex Skill roots with the same symlink safety model. - Extend install tests to verify _shared symlinks, schema.py, Skill-relative shared docs, idempotency, and non-symlink refusal. - Update install docs to describe official _shared installation. Validation: - OK: install.sh is correct and idempotent -> pass - → manifest.yaml parses ✓ manifest.yaml → skill directory: knowject-context-init ✓ knowject-context-init/ exists → skill directory: knowject-read-api ✓ knowject-read-api/ exists → skill directory: knowject-prd-to-mock ✓ knowject-prd-to-mock/ exists → skill directory: knowject-read-design ✓ knowject-read-design/ exists → skill directory: knowject-api-to-types ✓ knowject-api-to-types/ exists → skill directory: knowject-memory-capture ✓ knowject-memory-capture/ exists → SKILL.md frontmatter: knowject-context-init ✓ knowject-context-init/SKILL.md frontmatter → SKILL.md frontmatter: knowject-read-api ✓ knowject-read-api/SKILL.md frontmatter → SKILL.md frontmatter: knowject-prd-to-mock ✓ knowject-prd-to-mock/SKILL.md frontmatter → SKILL.md frontmatter: knowject-read-design ✓ knowject-read-design/SKILL.md frontmatter → SKILL.md frontmatter: knowject-api-to-types ✓ knowject-api-to-types/SKILL.md frontmatter → SKILL.md frontmatter: knowject-memory-capture ✓ knowject-memory-capture/SKILL.md frontmatter → Codex adapter shape: knowject-context-init ✓ knowject-context-init/agents/openai.yaml structure → Codex adapter shape: knowject-read-api ✓ knowject-read-api/agents/openai.yaml structure → Codex adapter shape: knowject-prd-to-mock ✓ knowject-prd-to-mock/agents/openai.yaml structure → Codex adapter shape: knowject-read-design ✓ knowject-read-design/agents/openai.yaml structure → Codex adapter shape: knowject-api-to-types ✓ knowject-api-to-types/agents/openai.yaml structure → Codex adapter shape: knowject-memory-capture ✓ knowject-memory-capture/agents/openai.yaml structure → README.md coverage: knowject-api-to-types ✓ knowject-api-to-types/README.md coverage → README.md coverage: knowject-context-init ✓ knowject-context-init/README.md coverage → README.md coverage: knowject-memory-capture ✓ knowject-memory-capture/README.md coverage → README.md coverage: knowject-prd-to-mock ✓ knowject-prd-to-mock/README.md coverage → README.md coverage: knowject-read-api ✓ knowject-read-api/README.md coverage → README.md coverage: knowject-read-design ✓ knowject-read-design/README.md coverage → context.yaml schema validates all examples ✓ all example yamls validate → context.yaml schema rejects non-mapping project ✓ non-mapping project reports validation error → context.yaml schema rejects forbidden env fields ✓ forbidden env fields report validation errors → extract-express-routes.py matches fixture ✓ express extractor matches expected → extract-openapi-endpoints.py matches fixture ✓ openapi extractor matches expected → generate-typed-client.py matches fixture ✓ typed client generator matches expected → extract-brand-brief.py matches fixture ✓ brand brief extractor matches expected → extract-framework-profile.py matches antd fixture ✓ framework profile (antd) matches expected → extract-framework-profile.py matches shadcn fixture ✓ framework profile (shadcn) matches expected → extract-types-from-openapi.py matches fixture ✓ types extractor matches expected → extract-types-from-openapi.py quotes invalid property names ✓ invalid property names are quoted → rewrite-typed-client.py matches fixture ✓ client rewriter matches expected → validate-project-memory.py accepts memory example ✓ memory-capture example validates → validate-project-memory.py rejects uncited memory ✓ uncited memory reports validation error Checks: 39 | Failures: 0 All checks passed. -> 39 checks, 0 failures - -> pass - -> pass Risk: - Low - installer-only symlink hardening; no Skill behavior or context schema changes. Refs: #5
Why: - The root README files lagged the shipped Knowject Skills catalog and omitted memory capture. What: - Add knowject-memory-capture to the English and Chinese Skill tables, flows, usage examples, and Skill boundaries. - Update validation descriptions to mention README coverage, typed-client generation, memory validation, and install checks. - Keep Day-1 memory wording source-cited and file-based without DB/vector store/UI claims. Validation: - -> pass - → manifest.yaml parses ✓ manifest.yaml → skill directory: knowject-context-init ✓ knowject-context-init/ exists → skill directory: knowject-read-api ✓ knowject-read-api/ exists → skill directory: knowject-prd-to-mock ✓ knowject-prd-to-mock/ exists → skill directory: knowject-read-design ✓ knowject-read-design/ exists → skill directory: knowject-api-to-types ✓ knowject-api-to-types/ exists → skill directory: knowject-memory-capture ✓ knowject-memory-capture/ exists → SKILL.md frontmatter: knowject-context-init ✓ knowject-context-init/SKILL.md frontmatter → SKILL.md frontmatter: knowject-read-api ✓ knowject-read-api/SKILL.md frontmatter → SKILL.md frontmatter: knowject-prd-to-mock ✓ knowject-prd-to-mock/SKILL.md frontmatter → SKILL.md frontmatter: knowject-read-design ✓ knowject-read-design/SKILL.md frontmatter → SKILL.md frontmatter: knowject-api-to-types ✓ knowject-api-to-types/SKILL.md frontmatter → SKILL.md frontmatter: knowject-memory-capture ✓ knowject-memory-capture/SKILL.md frontmatter → Codex adapter shape: knowject-context-init ✓ knowject-context-init/agents/openai.yaml structure → Codex adapter shape: knowject-read-api ✓ knowject-read-api/agents/openai.yaml structure → Codex adapter shape: knowject-prd-to-mock ✓ knowject-prd-to-mock/agents/openai.yaml structure → Codex adapter shape: knowject-read-design ✓ knowject-read-design/agents/openai.yaml structure → Codex adapter shape: knowject-api-to-types ✓ knowject-api-to-types/agents/openai.yaml structure → Codex adapter shape: knowject-memory-capture ✓ knowject-memory-capture/agents/openai.yaml structure → README.md coverage: knowject-api-to-types ✓ knowject-api-to-types/README.md coverage → README.md coverage: knowject-context-init ✓ knowject-context-init/README.md coverage → README.md coverage: knowject-memory-capture ✓ knowject-memory-capture/README.md coverage → README.md coverage: knowject-prd-to-mock ✓ knowject-prd-to-mock/README.md coverage → README.md coverage: knowject-read-api ✓ knowject-read-api/README.md coverage → README.md coverage: knowject-read-design ✓ knowject-read-design/README.md coverage → context.yaml schema validates all examples ✓ all example yamls validate → context.yaml schema rejects non-mapping project ✓ non-mapping project reports validation error → context.yaml schema rejects forbidden env fields ✓ forbidden env fields report validation errors → extract-express-routes.py matches fixture ✓ express extractor matches expected → extract-openapi-endpoints.py matches fixture ✓ openapi extractor matches expected → generate-typed-client.py matches fixture ✓ typed client generator matches expected → extract-brand-brief.py matches fixture ✓ brand brief extractor matches expected → extract-framework-profile.py matches antd fixture ✓ framework profile (antd) matches expected → extract-framework-profile.py matches shadcn fixture ✓ framework profile (shadcn) matches expected → extract-types-from-openapi.py matches fixture ✓ types extractor matches expected → extract-types-from-openapi.py quotes invalid property names ✓ invalid property names are quoted → rewrite-typed-client.py matches fixture ✓ client rewriter matches expected → validate-project-memory.py accepts memory example ✓ memory-capture example validates → validate-project-memory.py rejects uncited memory ✓ uncited memory reports validation error Checks: 39 | Failures: 0 All checks passed. -> 39 checks, 0 failures - overclaiming grep for complete Agent platform / production-grade MCP platform -> no matches Risk: - Low - documentation-only README catalog sync. Refs: #6
Why: - Skills verification only ran locally, so manifest, README, extractor, memory validator, and installer regressions had no PR gate. What: - Add a GitHub Actions workflow for pull requests and pushes to main. - Set up Python 3.12, install PyYAML, and run verify.sh, test-install.sh, and git diff --check. - Document the Skills CI gate in the Skills README. Validation: - → manifest.yaml parses ✓ manifest.yaml → skill directory: knowject-context-init ✓ knowject-context-init/ exists → skill directory: knowject-read-api ✓ knowject-read-api/ exists → skill directory: knowject-prd-to-mock ✓ knowject-prd-to-mock/ exists → skill directory: knowject-read-design ✓ knowject-read-design/ exists → skill directory: knowject-api-to-types ✓ knowject-api-to-types/ exists → skill directory: knowject-memory-capture ✓ knowject-memory-capture/ exists → SKILL.md frontmatter: knowject-context-init ✓ knowject-context-init/SKILL.md frontmatter → SKILL.md frontmatter: knowject-read-api ✓ knowject-read-api/SKILL.md frontmatter → SKILL.md frontmatter: knowject-prd-to-mock ✓ knowject-prd-to-mock/SKILL.md frontmatter → SKILL.md frontmatter: knowject-read-design ✓ knowject-read-design/SKILL.md frontmatter → SKILL.md frontmatter: knowject-api-to-types ✓ knowject-api-to-types/SKILL.md frontmatter → SKILL.md frontmatter: knowject-memory-capture ✓ knowject-memory-capture/SKILL.md frontmatter → Codex adapter shape: knowject-context-init ✓ knowject-context-init/agents/openai.yaml structure → Codex adapter shape: knowject-read-api ✓ knowject-read-api/agents/openai.yaml structure → Codex adapter shape: knowject-prd-to-mock ✓ knowject-prd-to-mock/agents/openai.yaml structure → Codex adapter shape: knowject-read-design ✓ knowject-read-design/agents/openai.yaml structure → Codex adapter shape: knowject-api-to-types ✓ knowject-api-to-types/agents/openai.yaml structure → Codex adapter shape: knowject-memory-capture ✓ knowject-memory-capture/agents/openai.yaml structure → README.md coverage: knowject-api-to-types ✓ knowject-api-to-types/README.md coverage → README.md coverage: knowject-context-init ✓ knowject-context-init/README.md coverage → README.md coverage: knowject-memory-capture ✓ knowject-memory-capture/README.md coverage → README.md coverage: knowject-prd-to-mock ✓ knowject-prd-to-mock/README.md coverage → README.md coverage: knowject-read-api ✓ knowject-read-api/README.md coverage → README.md coverage: knowject-read-design ✓ knowject-read-design/README.md coverage → context.yaml schema validates all examples ✓ all example yamls validate → context.yaml schema rejects non-mapping project ✓ non-mapping project reports validation error → context.yaml schema rejects forbidden env fields ✓ forbidden env fields report validation errors → extract-express-routes.py matches fixture ✓ express extractor matches expected → extract-openapi-endpoints.py matches fixture ✓ openapi extractor matches expected → generate-typed-client.py matches fixture ✓ typed client generator matches expected → extract-brand-brief.py matches fixture ✓ brand brief extractor matches expected → extract-framework-profile.py matches antd fixture ✓ framework profile (antd) matches expected → extract-framework-profile.py matches shadcn fixture ✓ framework profile (shadcn) matches expected → extract-types-from-openapi.py matches fixture ✓ types extractor matches expected → extract-types-from-openapi.py quotes invalid property names ✓ invalid property names are quoted → rewrite-typed-client.py matches fixture ✓ client rewriter matches expected → validate-project-memory.py accepts memory example ✓ memory-capture example validates → validate-project-memory.py rejects uncited memory ✓ uncited memory reports validation error Checks: 39 | Failures: 0 All checks passed. -> 39 checks, 0 failures - OK: install.sh is correct and idempotent -> pass - -> pass - workflow grep for triggers and commands -> pass Risk: - Low - CI-only change with no secrets, deployment, publishing, or app build jobs. Refs: #7
Why: - Knowject Skills lacked a file-based way to create reusable RAG and citation quality evaluation cases. What: - Add knowject-rag-eval with Skill docs, Codex adapter, references, examples, and a YAML validator. - Update manifest, roadmap, and Skills README for the shipped Day-1 catalog. - Extend verify.sh to validate the rag eval fixture and reject uncited eval cases. Validation: - OK: skills/knowject-rag-eval/references/examples/rag-eval-cases.expected.yaml -> pass - -> pass - → manifest.yaml parses ✓ manifest.yaml → skill directory: knowject-context-init ✓ knowject-context-init/ exists → skill directory: knowject-read-api ✓ knowject-read-api/ exists → skill directory: knowject-prd-to-mock ✓ knowject-prd-to-mock/ exists → skill directory: knowject-read-design ✓ knowject-read-design/ exists → skill directory: knowject-api-to-types ✓ knowject-api-to-types/ exists → skill directory: knowject-memory-capture ✓ knowject-memory-capture/ exists → skill directory: knowject-rag-eval ✓ knowject-rag-eval/ exists → SKILL.md frontmatter: knowject-context-init ✓ knowject-context-init/SKILL.md frontmatter → SKILL.md frontmatter: knowject-read-api ✓ knowject-read-api/SKILL.md frontmatter → SKILL.md frontmatter: knowject-prd-to-mock ✓ knowject-prd-to-mock/SKILL.md frontmatter → SKILL.md frontmatter: knowject-read-design ✓ knowject-read-design/SKILL.md frontmatter → SKILL.md frontmatter: knowject-api-to-types ✓ knowject-api-to-types/SKILL.md frontmatter → SKILL.md frontmatter: knowject-memory-capture ✓ knowject-memory-capture/SKILL.md frontmatter → SKILL.md frontmatter: knowject-rag-eval ✓ knowject-rag-eval/SKILL.md frontmatter → Codex adapter shape: knowject-context-init ✓ knowject-context-init/agents/openai.yaml structure → Codex adapter shape: knowject-read-api ✓ knowject-read-api/agents/openai.yaml structure → Codex adapter shape: knowject-prd-to-mock ✓ knowject-prd-to-mock/agents/openai.yaml structure → Codex adapter shape: knowject-read-design ✓ knowject-read-design/agents/openai.yaml structure → Codex adapter shape: knowject-api-to-types ✓ knowject-api-to-types/agents/openai.yaml structure → Codex adapter shape: knowject-memory-capture ✓ knowject-memory-capture/agents/openai.yaml structure → Codex adapter shape: knowject-rag-eval ✓ knowject-rag-eval/agents/openai.yaml structure → README.md coverage: knowject-api-to-types ✓ knowject-api-to-types/README.md coverage → README.md coverage: knowject-context-init ✓ knowject-context-init/README.md coverage → README.md coverage: knowject-memory-capture ✓ knowject-memory-capture/README.md coverage → README.md coverage: knowject-prd-to-mock ✓ knowject-prd-to-mock/README.md coverage → README.md coverage: knowject-rag-eval ✓ knowject-rag-eval/README.md coverage → README.md coverage: knowject-read-api ✓ knowject-read-api/README.md coverage → README.md coverage: knowject-read-design ✓ knowject-read-design/README.md coverage → context.yaml schema validates all examples ✓ all example yamls validate → context.yaml schema rejects non-mapping project ✓ non-mapping project reports validation error → context.yaml schema rejects forbidden env fields ✓ forbidden env fields report validation errors → extract-express-routes.py matches fixture ✓ express extractor matches expected → extract-openapi-endpoints.py matches fixture ✓ openapi extractor matches expected → generate-typed-client.py matches fixture ✓ typed client generator matches expected → extract-brand-brief.py matches fixture ✓ brand brief extractor matches expected → extract-framework-profile.py matches antd fixture ✓ framework profile (antd) matches expected → extract-framework-profile.py matches shadcn fixture ✓ framework profile (shadcn) matches expected → extract-types-from-openapi.py matches fixture ✓ types extractor matches expected → extract-types-from-openapi.py quotes invalid property names ✓ invalid property names are quoted → rewrite-typed-client.py matches fixture ✓ client rewriter matches expected → validate-project-memory.py accepts memory example ✓ memory-capture example validates → validate-project-memory.py rejects uncited memory ✓ uncited memory reports validation error → validate-rag-eval-cases.py accepts rag eval example ✓ rag-eval example validates → validate-rag-eval-cases.py rejects uncited eval cases ✓ uncited rag eval reports validation error Checks: 45 | Failures: 0 All checks passed. -> 45 checks, 0 failures - -> pass - overclaiming grep for complete Agent platform / production-grade MCP platform -> no matches Risk: - Low - Day-1 Skill artifacts only; no live model calls, Chroma, MongoDB, API, UI, network scoring, or external eval dependencies. Refs: #8
Why:
- Knowject had API discovery and type generation, but no conservative Day-1 workflow for deciding which endpoints can become agent tools.
What:
- Add knowject-mcp-tool-designer with Skill docs, Codex adapter, risk taxonomy, design contract, API selection guide, and examples.
- Update manifest, roadmap, and Skills README for the shipped Day-1 catalog.
- Extend verify.sh to parse the MCP tool schema fixture and require read-only plus write/destructive risk coverage.
Validation:
- {
"version": "0.1",
"project": {
"name": "Knowject",
"generated_at": "2026-05-24",
"source_summary": {
"mode": "endpoint-inventory",
"refs": [
{
"path": "skills/knowject-read-api/references/examples/express-expected.json",
"note": "example endpoint inventory generated by knowject-read-api"
}
]
}
},
"tools": [
{
"tool_name": "list_users",
"description": "List users visible to the current project member.",
"source_endpoint": {
"method": "GET",
"path": "/users",
"source": "skills/knowject-read-api/references/examples/express-expected.json#GET /users"
},
"input_schema": {
"type": "object",
"properties": {},
"required": []
},
"output_shape_notes": "Returns the user list shape defined by the source API or OpenAPI response schema.",
"risk_level": "read_only",
"requires_confirmation": false,
"auth_scope_notes": "Requires project member read access; do not expose cross-tenant user lists.",
"audit_log_notes": "Standard request logging is sufficient for read-only inspection.",
"rollback_notes": "No rollback needed for read-only access."
},
{
"tool_name": "delete_user",
"description": "Delete one user by id after explicit operator confirmation.",
"source_endpoint": {
"method": "DELETE",
"path": "/users/:id",
"source": "skills/knowject-read-api/references/examples/express-expected.json#DELETE /users/:id"
},
"input_schema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "User id from the source endpoint path parameter."
}
},
"required": [
"id"
],
"additionalProperties": false
},
"output_shape_notes": "Returns a deletion acknowledgement or the deleted resource shape, depending on the API implementation.",
"risk_level": "destructive",
"requires_confirmation": true,
"auth_scope_notes": "Requires privileged user management scope and tenant boundary checks.",
"audit_log_notes": "Record actor, target user id, timestamp, request id, and confirmation text.",
"rollback_notes": "Define restore or re-create procedure before implementation; otherwise keep as design-only."
}
]
} -> pass
- → manifest.yaml parses
✓ manifest.yaml
→ skill directory: knowject-context-init
✓ knowject-context-init/ exists
→ skill directory: knowject-read-api
✓ knowject-read-api/ exists
→ skill directory: knowject-prd-to-mock
✓ knowject-prd-to-mock/ exists
→ skill directory: knowject-read-design
✓ knowject-read-design/ exists
→ skill directory: knowject-api-to-types
✓ knowject-api-to-types/ exists
→ skill directory: knowject-memory-capture
✓ knowject-memory-capture/ exists
→ skill directory: knowject-rag-eval
✓ knowject-rag-eval/ exists
→ skill directory: knowject-mcp-tool-designer
✓ knowject-mcp-tool-designer/ exists
→ SKILL.md frontmatter: knowject-context-init
✓ knowject-context-init/SKILL.md frontmatter
→ SKILL.md frontmatter: knowject-read-api
✓ knowject-read-api/SKILL.md frontmatter
→ SKILL.md frontmatter: knowject-prd-to-mock
✓ knowject-prd-to-mock/SKILL.md frontmatter
→ SKILL.md frontmatter: knowject-read-design
✓ knowject-read-design/SKILL.md frontmatter
→ SKILL.md frontmatter: knowject-api-to-types
✓ knowject-api-to-types/SKILL.md frontmatter
→ SKILL.md frontmatter: knowject-memory-capture
✓ knowject-memory-capture/SKILL.md frontmatter
→ SKILL.md frontmatter: knowject-rag-eval
✓ knowject-rag-eval/SKILL.md frontmatter
→ SKILL.md frontmatter: knowject-mcp-tool-designer
✓ knowject-mcp-tool-designer/SKILL.md frontmatter
→ Codex adapter shape: knowject-context-init
✓ knowject-context-init/agents/openai.yaml structure
→ Codex adapter shape: knowject-read-api
✓ knowject-read-api/agents/openai.yaml structure
→ Codex adapter shape: knowject-prd-to-mock
✓ knowject-prd-to-mock/agents/openai.yaml structure
→ Codex adapter shape: knowject-read-design
✓ knowject-read-design/agents/openai.yaml structure
→ Codex adapter shape: knowject-api-to-types
✓ knowject-api-to-types/agents/openai.yaml structure
→ Codex adapter shape: knowject-memory-capture
✓ knowject-memory-capture/agents/openai.yaml structure
→ Codex adapter shape: knowject-rag-eval
✓ knowject-rag-eval/agents/openai.yaml structure
→ Codex adapter shape: knowject-mcp-tool-designer
✓ knowject-mcp-tool-designer/agents/openai.yaml structure
→ README.md coverage: knowject-api-to-types
✓ knowject-api-to-types/README.md coverage
→ README.md coverage: knowject-context-init
✓ knowject-context-init/README.md coverage
→ README.md coverage: knowject-mcp-tool-designer
✓ knowject-mcp-tool-designer/README.md coverage
→ README.md coverage: knowject-memory-capture
✓ knowject-memory-capture/README.md coverage
→ README.md coverage: knowject-prd-to-mock
✓ knowject-prd-to-mock/README.md coverage
→ README.md coverage: knowject-rag-eval
✓ knowject-rag-eval/README.md coverage
→ README.md coverage: knowject-read-api
✓ knowject-read-api/README.md coverage
→ README.md coverage: knowject-read-design
✓ knowject-read-design/README.md coverage
→ context.yaml schema validates all examples
✓ all example yamls validate
→ context.yaml schema rejects non-mapping project
✓ non-mapping project reports validation error
→ context.yaml schema rejects forbidden env fields
✓ forbidden env fields report validation errors
→ extract-express-routes.py matches fixture
✓ express extractor matches expected
→ extract-openapi-endpoints.py matches fixture
✓ openapi extractor matches expected
→ generate-typed-client.py matches fixture
✓ typed client generator matches expected
→ extract-brand-brief.py matches fixture
✓ brand brief extractor matches expected
→ extract-framework-profile.py matches antd fixture
✓ framework profile (antd) matches expected
→ extract-framework-profile.py matches shadcn fixture
✓ framework profile (shadcn) matches expected
→ extract-types-from-openapi.py matches fixture
✓ types extractor matches expected
→ extract-types-from-openapi.py quotes invalid property names
✓ invalid property names are quoted
→ rewrite-typed-client.py matches fixture
✓ client rewriter matches expected
→ validate-project-memory.py accepts memory example
✓ memory-capture example validates
→ validate-project-memory.py rejects uncited memory
✓ uncited memory reports validation error
→ validate-rag-eval-cases.py accepts rag eval example
✓ rag-eval example validates
→ validate-rag-eval-cases.py rejects uncited eval cases
✓ uncited rag eval reports validation error
→ mcp-tool-designer schema example parses
✓ mcp-tool-designer schema example validates
Checks: 50 | Failures: 0
All checks passed. -> 50 checks, 0 failures
- -> pass
- overclaiming grep for complete Agent platform / production-grade MCP platform -> no matches
Risk:
- Low - design artifacts only; no MCP server, runtime handlers, external API calls, app route changes, platform UI, auth code, or knowject-read-api behavior changes.
Refs: #9
Why: - Full diff review found root README catalog drift after adding the rag-eval and MCP tool designer Skills. What: - Add knowject-rag-eval and knowject-mcp-tool-designer to the English and Chinese root README tables, flows, usage examples, project artifact tree, boundaries, and validation copy. - Keep Day-1 wording conservative: file-based evals and design artifacts only. Validation: - README/manifest consistency check -> no missing Skill names - → manifest.yaml parses ✓ manifest.yaml → skill directory: knowject-context-init ✓ knowject-context-init/ exists → skill directory: knowject-read-api ✓ knowject-read-api/ exists → skill directory: knowject-prd-to-mock ✓ knowject-prd-to-mock/ exists → skill directory: knowject-read-design ✓ knowject-read-design/ exists → skill directory: knowject-api-to-types ✓ knowject-api-to-types/ exists → skill directory: knowject-memory-capture ✓ knowject-memory-capture/ exists → skill directory: knowject-rag-eval ✓ knowject-rag-eval/ exists → skill directory: knowject-mcp-tool-designer ✓ knowject-mcp-tool-designer/ exists → SKILL.md frontmatter: knowject-context-init ✓ knowject-context-init/SKILL.md frontmatter → SKILL.md frontmatter: knowject-read-api ✓ knowject-read-api/SKILL.md frontmatter → SKILL.md frontmatter: knowject-prd-to-mock ✓ knowject-prd-to-mock/SKILL.md frontmatter → SKILL.md frontmatter: knowject-read-design ✓ knowject-read-design/SKILL.md frontmatter → SKILL.md frontmatter: knowject-api-to-types ✓ knowject-api-to-types/SKILL.md frontmatter → SKILL.md frontmatter: knowject-memory-capture ✓ knowject-memory-capture/SKILL.md frontmatter → SKILL.md frontmatter: knowject-rag-eval ✓ knowject-rag-eval/SKILL.md frontmatter → SKILL.md frontmatter: knowject-mcp-tool-designer ✓ knowject-mcp-tool-designer/SKILL.md frontmatter → Codex adapter shape: knowject-context-init ✓ knowject-context-init/agents/openai.yaml structure → Codex adapter shape: knowject-read-api ✓ knowject-read-api/agents/openai.yaml structure → Codex adapter shape: knowject-prd-to-mock ✓ knowject-prd-to-mock/agents/openai.yaml structure → Codex adapter shape: knowject-read-design ✓ knowject-read-design/agents/openai.yaml structure → Codex adapter shape: knowject-api-to-types ✓ knowject-api-to-types/agents/openai.yaml structure → Codex adapter shape: knowject-memory-capture ✓ knowject-memory-capture/agents/openai.yaml structure → Codex adapter shape: knowject-rag-eval ✓ knowject-rag-eval/agents/openai.yaml structure → Codex adapter shape: knowject-mcp-tool-designer ✓ knowject-mcp-tool-designer/agents/openai.yaml structure → README.md coverage: knowject-api-to-types ✓ knowject-api-to-types/README.md coverage → README.md coverage: knowject-context-init ✓ knowject-context-init/README.md coverage → README.md coverage: knowject-mcp-tool-designer ✓ knowject-mcp-tool-designer/README.md coverage → README.md coverage: knowject-memory-capture ✓ knowject-memory-capture/README.md coverage → README.md coverage: knowject-prd-to-mock ✓ knowject-prd-to-mock/README.md coverage → README.md coverage: knowject-rag-eval ✓ knowject-rag-eval/README.md coverage → README.md coverage: knowject-read-api ✓ knowject-read-api/README.md coverage → README.md coverage: knowject-read-design ✓ knowject-read-design/README.md coverage → context.yaml schema validates all examples ✓ all example yamls validate → context.yaml schema rejects non-mapping project ✓ non-mapping project reports validation error → context.yaml schema rejects forbidden env fields ✓ forbidden env fields report validation errors → extract-express-routes.py matches fixture ✓ express extractor matches expected → extract-openapi-endpoints.py matches fixture ✓ openapi extractor matches expected → generate-typed-client.py matches fixture ✓ typed client generator matches expected → extract-brand-brief.py matches fixture ✓ brand brief extractor matches expected → extract-framework-profile.py matches antd fixture ✓ framework profile (antd) matches expected → extract-framework-profile.py matches shadcn fixture ✓ framework profile (shadcn) matches expected → extract-types-from-openapi.py matches fixture ✓ types extractor matches expected → extract-types-from-openapi.py quotes invalid property names ✓ invalid property names are quoted → rewrite-typed-client.py matches fixture ✓ client rewriter matches expected → validate-project-memory.py accepts memory example ✓ memory-capture example validates → validate-project-memory.py rejects uncited memory ✓ uncited memory reports validation error → validate-rag-eval-cases.py accepts rag eval example ✓ rag-eval example validates → validate-rag-eval-cases.py rejects uncited eval cases ✓ uncited rag eval reports validation error → mcp-tool-designer schema example parses ✓ mcp-tool-designer schema example validates Checks: 50 | Failures: 0 All checks passed. -> 50 checks, 0 failures - OK: install.sh is correct and idempotent -> pass - -> pass - overclaiming grep for complete Agent platform / production-grade MCP platform -> no matches Risk: - Low - documentation-only catalog drift fix. Refs: #8 Refs: #9
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary by issue
skills/_sharedwith the official Skill pack, verifies installed shared symlinks, and keeps non-symlink overwrite refusal..github/workflows/skills.ymlfor Skills verification on pull requests and pushes tomain.knowject-rag-evalas a Day-1 file-based RAG/citation eval Skill with examples and a YAML validator.knowject-mcp-tool-designeras a Day-1 API-to-MCP tool design Skill with risk taxonomy, confirmation gates, and examples.Verification
bash skills/scripts/verify.sh-> 50 checks, 0 failuresbash skills/scripts/test-install.sh-> passgit diff --check-> passRemaining risks
None known. Day-1 scopes for #8 and #9 remain file-based/design-artifact only: no live model calls, no Chroma/MongoDB, no platform API/UI, no MCP server, no runtime handlers, and no external network scoring.
Closes #5
Closes #6
Closes #7
Closes #8
Closes #9